¬
Jim Million    uunet!wiltel!jmillion    November 1992    				              

ColorBrowser.palette (v1.0)

ColorBrowser.palette is a 3.0  InterfaceBuilder View palette for the NXBrowser subclass ColorBrowser.  ColorBrowser uses a ColorBrowserCell as its Cell class. ColorBrowserCell is a subclass of NXBrowserCell that provides access to the color attribute of the Text object used in drawing the cell's text. Specificly, ColorBrowserCell allows the Text object's color to be any valid NXColor, whereas, NXBrowserCell only provides access to gray-scale color. Methods have been added to the ColorBrowser class to support this capability (a ColorBrowserCell may be used as the Cell class for an NXBrowser instance as well, however, not with benefit of the 'color friendly' methods in ColorBrowser).  (Edit's gdb interface demonstrates a usage of this ability in its stack browser. Here, variables change color to red when their values change.) 
¬

Important Files...
¬ ColorBrowser.[hm] is the class represented by the palette.
¬ ColorBrowserCell.[hm] is the Cell class for an instance of ColorBrowser.
¬ ColorBrowserInspector.[hm] manages IB Attributes inspection of an instance of 
   ColorBrowser.

Notes...
¬ Browsers make no assumption about the data that fills them. They rely on their delegate 
     for the specifics.  In the same way, a ColorBrowser only provides the ability to change 
     a cell's color, but it can make no assumptions about which cells you wish to be color.  
     It is important to note that a cell will retain its color until it is (re)loaded (usually in one of 
     the browser:fillMatrix: methods). At that point, it is necessary for some controlling object
     to establish any specific color choices. By default, a new cell's color will be that of 
     the browser's cell prototype.  I have written a more elaborate BrowserCell subclass that 
     allows registration of cell values, such that when they occur, they will be drawn in the 
     specified color. Feel free to contact me if you would like to see it.
¬ You will need to include ColorBrowser.[hm] and ColorBrowserCell.[hm] in any project 
     that uses this palette (or just include the interface file and link against the object files). 
     (OTHER_OFILES in a Makefile.preamble).
¬